package org.wdcode.shop.po;

import java.io.Serializable;
import java.math.BigDecimal;

import org.wdcode.back.po.BaseBackCreateDateEntityBean;
import org.wdcode.common.tools.Conversion;
import org.wdcode.common.util.CommonUtil;
import org.wdcode.shop.helper.ProductSortHelper;

/**
 * 产品实体
 * @author WD
 * @since JDK6
 * @version 1.0 2009-11-23
 */
public final class ProductInfo extends BaseBackCreateDateEntityBean implements Serializable {
	// 序列化ID
	private static final long	serialVersionUID	= -6814946430503071919L;

	// 产品分类
	private Integer				sortId;
	// 产品价格
	private BigDecimal			price;
	// 产品材质
	private String				material;
	// 产品重量
	private Double				weight;
	// 产品编号
	private String				code;
	// 产品图片
	private String				photo;
	// 产品尺码
	private Integer				size;
	// 打折价格
	private BigDecimal			rebate;
	// 简略说明
	private String				brief;
	// 详细描述
	private String				description;
	// 页面Title
	private String				pageTitle;
	// 页面KeyWords
	private String				pageKeyWords;
	// 页面Description
	private String				pageDescription;

	// 产品分类
	private ProductSort			sort;

	/**
	 * 设置产品分类实体
	 * @param sortId 产品分类ID
	 * @return 产品分类实体
	 */
	public ProductSort setSort(Integer sortId) {
		return sort = ProductSortHelper.getHelper().get(Conversion.toInt(sortId));
	}

	/**
	 * 获得产品分类实体
	 * @return 产品分类实体
	 */
	public ProductSort getSort() {
		return CommonUtil.isEmpty(sort) ? setSort(sortId) : sort;
	}

	/**
	 * 获得产品分类
	 * @return 产品分类
	 */
	public Integer getSortId() {
		return this.sortId;
	}

	/**
	 * 设置产品分类
	 * @param sortId 产品分类
	 */
	public void setSortId(Integer sortId) {
		this.sortId = sortId;
	}

	/**
	 * 获得产品价格
	 * @return 产品价格
	 */
	public BigDecimal getPrice() {
		return this.price;
	}

	/**
	 * 设置产品价格
	 * @param price 产品价格
	 */
	public void setPrice(BigDecimal price) {
		this.price = price;
	}

	/**
	 * 获得产品材质
	 * @return 产品材质
	 */
	public String getMaterial() {
		return this.material;
	}

	/**
	 * 设置产品材质
	 * @param material 产品材质
	 */
	public void setMaterial(String material) {
		this.material = material;
	}

	/**
	 * 获得产品重量
	 * @return 产品重量
	 */
	public Double getWeight() {
		return this.weight;
	}

	/**
	 * 设置产品重量
	 * @param weight 产品重量
	 */
	public void setWeight(Double weight) {
		this.weight = weight;
	}

	/**
	 * 获得产品编号
	 * @return 产品编号
	 */
	public String getCode() {
		return this.code;
	}

	/**
	 * 设置产品编号
	 * @param code 产品编号
	 */
	public void setCode(String code) {
		this.code = code;
	}

	/**
	 * 获得产品图片
	 * @return 产品图片
	 */
	public String getPhoto() {
		return this.photo;
	}

	/**
	 * 设置产品图片
	 * @param photo 产品图片
	 */
	public void setPhoto(String photo) {
		this.photo = photo;
	}

	/**
	 * 获得产品尺码
	 * @return 产品尺码
	 */
	public Integer getSize() {
		return this.size;
	}

	/**
	 * 设置产品尺码
	 * @param size 产品尺码
	 */
	public void setSize(Integer size) {
		this.size = size;
	}

	/**
	 * 获得打折价格
	 * @return 打折价格
	 */
	public BigDecimal getRebate() {
		return this.rebate;
	}

	/**
	 * 设置打折价格
	 * @param rebate 打折价格
	 */
	public void setRebate(BigDecimal rebate) {
		this.rebate = rebate;
	}

	/**
	 * 获得简略说明
	 * @return 简略说明
	 */
	public String getBrief() {
		return this.brief;
	}

	/**
	 * 设置简略说明
	 * @param brief 简略说明
	 */
	public void setBrief(String brief) {
		this.brief = brief;
	}

	/**
	 * 获得详细描述
	 * @return 详细描述
	 */
	public String getDescription() {
		return this.description;
	}

	/**
	 * 设置详细描述
	 * @param description 详细描述
	 */
	public void setDescription(String description) {
		this.description = description;
	}

	/**
	 * 获得页面Title
	 * @return 页面Title
	 */
	public String getPageTitle() {
		return this.pageTitle;
	}

	/**
	 * 设置页面Title
	 * @param pageTitle 页面Title
	 */
	public void setPageTitle(String pageTitle) {
		this.pageTitle = pageTitle;
	}

	/**
	 * 获得页面KeyWords
	 * @return 页面KeyWords
	 */
	public String getPageKeyWords() {
		return this.pageKeyWords;
	}

	/**
	 * 设置页面KeyWords
	 * @param pageKeyWods 页面KeyWords
	 */
	public void setPageKeyWords(String pageKeyWords) {
		this.pageKeyWords = pageKeyWords;
	}

	/**
	 * 获得页面Description
	 * @return 页面Description
	 */
	public String getPageDescription() {
		return this.pageDescription;
	}

	/**
	 * 设置页面Description
	 * @param pageDescription 页面Description
	 */
	public void setPageDescription(String pageDescription) {
		this.pageDescription = pageDescription;
	}
}